Automatic Loop Summarization via Path Dependency Analysis
نویسندگان
چکیده
Analyzing loops is very important for various software engineering tasks such as bug detection, test case generation and program optimization. However, loops are very challenging structures for program analysis, especially when (nested) loops contain multiple paths that have complex interleaving relationships. In this paper, we propose the path dependency automaton (PDA) to capture the dependencies among the multiple paths in a loop. Based on the PDA, we first propose a loop classification to understand the complexity of loop summarization. Then, we propose a loop analysis framework, named Proteus, which takes a loop program and a set of variables of interest as inputs and summarizes path-sensitive loop effects (i.e., disjunctive loop summary) on the variables of interest. An algorithm is proposed to traverse the PDA to summarize the effect for all possible executions in the loop. We have evaluated Proteus using loops from five open-source projects and two well-known benchmarks and applying the disjunctive loop summary to three applications: loop bound analysis, program verification and test case generation. The evaluation results have demonstrated that Proteus can compute a more precise bound than the existing loop bound analysis techniques; Proteus can significantly outperform the state-of-the-art tools for loop program verification; and Proteus can help generate test cases for deep loops within one second, while symbolic execution tools KLEE and Pex either need much more time or fail.
منابع مشابه
Dependency-based Sentence Alignment for Multiple Document Summarization
In this paper, we describe a method of automatic sentence alignment for building extracts from abstracts in automatic summarization research. Our method is based on two steps. First, we introduce the “dependency tree path” (DTP). Next, we calculate the similarity between DTPs based on the ESK (Extended String Subsequence Kernel), which considers sequential patterns. By using these procedures, w...
متن کاملA survey on Automatic Text Summarization
Text summarization endeavors to produce a summary version of a text, while maintaining the original ideas. The textual content on the web, in particular, is growing at an exponential rate. The ability to decipher through such massive amount of data, in order to extract the useful information, is a major undertaking and requires an automatic mechanism to aid with the extant repository of informa...
متن کاملتوسعه مدل حلقه کنترل بار– فرکانس نیروگاه ها با در نظرگرفتن ضریب دمپینگ توربین
Maintaining desired megawatt output of a generator unit is an essential role of Automatic Load-Frequency Control (ALFC) loop for secure operation of power system. In modeling this control loop, a major part concerns with the modeling of the mechanical behavior of turbine-generator. While, the efficiency of turbines normally depends on the speed they are operated, in most studies it is not inclu...
متن کاملTLR at DUC: Tree similarity
We provide a solution to this year’s task of a question-based multi-document summarization by employing tree similarity of the dependency parse trees for reformulated questions and candidate sentences.
متن کاملKey Frame Based Video Summarization via Dependency Optimization
As a rapid growth of digital videos and data communications, video summarization that provides a shorter version of the video for fast video browsing and retrieval is necessary. Key frame extraction is one of the mechanisms to generate video summary. In general, the extracted key frames should both represent the entire video content and contain minimum redundancy. However, most of the existing ...
متن کامل